package com.cskaoyan.javase.basic._6enscape;

/**
 * 什么是转义字符？
 * 所谓转义字符，就是用反斜杠（\）加上一个特殊的字符串用来表示一个全新的字符
 * 因为这个字符已经和原先字符串的意思大不相同，所以整体称之为转义字符
 *
 * 转义字符的作用是什么？
 * 实际上转义字符可以表示任何一个普通字符，但是普通的字符直接书写给出即可，使用转义字符意义不大。
 * 转移字符最重要的用途是，表示那些无法用键盘直接输入的控制字符。比如在ASCII码表中，那些换行，翻页等等字符.
 *
 * 常见的转义字符:
 * \b	退格(BS) ，将当前位置移到前一列	008
 * \n	换行(LF) ，将当前位置移到下一行开头	010
 * \r	回车(CR) ，将当前位置移到本行开头	013
 * \t	水平制表(HT) （跳到下一个TAB位置）	009
 * \\	两个反斜杠表示一个反斜杠	092
 * \'	代表一个单引号（撇号）字符	039
 * \"	代表一个双引号字符	034
 *
 * \\ddd	1到3位八进制数所代表的任意字符 该八进制数是该字符的编码值
 *          Unicode编码前256个字符
 * \\uxxxx	4位十六进制所代表的任意字符 该十六进制数是该字符的编码值
 *          Unicode编码前65536个字符
 *
 *
 * @since 09:41
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        char c = 97;
        System.out.println(c);
        System.out.println("\141");
        System.out.println("\u0061");
        // 编码值为0的字符,是一个绝对空字符,什么都没有
        System.out.println("\000" + "123");
        System.out.println("\u0000" + "123");

        System.out.println("hello world!\b");
        System.out.println("666\n777");
        // 输出并换行
        System.out.println("111");
        // 只输出不换行
        System.out.print("222");
        System.out.print("333");
        System.out.print("444\n");
        System.out.println("555");

        System.out.println("你是一个\r聪明的人!");
        System.out.println("你是一个\t聪明的人!");
        System.out.println("\\");
        System.out.println("\'");
        System.out.println("\"");
    }
}
